Location-based method and system for dynamically managing network physical objects

ABSTRACT

A service directory lists information on service provider communicating objects, on related services accessible from these communicating objects and on coverage areas associated with these services. When a service consumer communicating object is located and identified, a list of accessible services is determined depending on the location and identification of this service consumer communicating object, in relation to the directory services to the coverage areas associated therewith, and at least the transmission to the identified service consumer communicating object of information relating to the services of the determined list is triggered.

The present invention relates to the field of communicating objects and,more specifically, the field of managing a set of such objects. Thesecommunicating objects are objects having a specific function andprovided with communication capabilities. More specifically, acommunicating object is a pair of hybrid state machines, one physicaland the other informational. The distinction is more intuitive thanformal, since an informational state machine is obviously implemented ona physical machine, normally microelectronic, and a physical machine canalways be modeled at various levels as a formal state machine. Thedistinction between the two is nevertheless normally clear enough for itto be possible to model them separately: the informational state machineincludes the “embedded” processing/storage capability of the object inthe sense defined above, and the physical machine includes everythingcorresponding to the specific function, that is, non-informational, ofthe object, including both the physical interfaces of the sensors andactuators and the state machine which models their abstract operation.

Jointly, this dual state machine is provided with capabilities for:

-   -   acquiring information from its own physical state or, where        appropriate, from its environment, via sensors in different        physical arrangements,    -   locally processing and storing information (informational state        machine functions in the strict sense, that is, including the        state of the state machine and the state transition function        based on the inputs that are the sensors and the network        interfaces),    -   sending the information deriving from the sensors or from the        specific state of the object to other objects, and receiving        information from other objects, via a general-purpose network        medium, typically wireless, and supporting a protocol enabling        them all to interwork,    -   performing actions in return on its own physical state or, where        appropriate, on the environment, via embedded actuators.

The combined informational processing and physical transduction (sensorsand actuators) capabilities of the networked objects are seenhereinafter through an information technology abstraction called here“service”, which can be formalized, in the software infrastructure thatmanages them, in a declarative manner (for example, by describing thesecapabilities in an XML-based language) or programmatic manner (forexample, a method or a set of methods in an object-based programminglanguage such as Java). It is this service computational entity whichwill be “exchanged” via the network between “service consumer”communicating objects and “service provider” objects, bearing in mindthat the objects serve both functions most of the time.

There are numerous types of communicating objects that interact byexchanging services: typical of these are the drinks dispenser withpayment made by mobile telephone, the communicating pen, which providesan input interface service for a personal digital assistant (PDA), thewireless earpiece which provides a voice interface service for a mobiletelephone or even the screen which provides a visual output interfaceservice for a PDA, the temperature and pressure sensor which providesits information to another service located on the PDA, and so on.

The service discovery software infrastructures (middleware) include inparticular:

-   -   JINI (see “JINI Network Technology”, published by Sun        Microsystems, Inc. and the web site www.jini.org);    -   UPnP (see “Universal Plug and Play Device Architecture”,        published in June 2000 by Microsoft Corporation, and the web        site www.upnp.org);    -   Salutation, the specifications of which are published by The        Salutation Consortium (see web site www.salutation.org).

These architectures propose generic solutions to enable softwareservices to be exchanged between machines, but do not propose genericsolutions for handling the physical location of software in concreteterms. Now, recognizing the physical location is essential for mobilecommunicating objects, for example attached to a roaming user.

Furthermore, the existing communicating objects and the associatedmanagement systems, which sometimes use location information originatingfor example from GSM networks, are often dedicated to a specificapplication or to a specific environment. Thus, making communicatingobjects that do not originate from the same system interact easily isdifficult. Furthermore, activating these objects more often than notrequires a specific activation on the part of the user.

The present invention seeks to propose a method and a system formanaging a set of communicating objects which are less affected by theabove-mentioned limitations.

Thus, according to a first aspect, the invention proposes a method ofmanaging a set of communicating objects, wherein a service directorylists information relating to service provider communicating objects, torespective services accessible from these communicating objects and tocoverage areas respectively associated with said services. The methodcomprises the steps of:

-   -   locating a service consumer communicating object and identifying        it,    -   determining a list of the services accessible from the service        provider communicating objects included in the directory,        according to the location and the identification of the service        consumer communicating object identified in relation to the        services accessible from the service provider communicating        objects and to the coverage areas associated with said services,        and    -   initiating at least the transmission, to the identified service        consumer communicating object, of information relating to the        services of the list.

According to a second aspect, the invention proposes a system formanaging a set of communicating objects comprising:

-   -   a service directory listing information relating to service        provider communicating objects, to respective services        accessible from these communicating objects and to coverage        areas respectively associated with said services,    -   means of locating and identifying service consumer communicating        objects,    -   means of interpreting information for locating the service        consumer communicating objects regarding the coverage areas of        the services listed in the directory,    -   means of interpreting in formation for identifying the service        consumer communicating objects regarding the services listed in        the directory,    -   means of determining a list of services accessible from service        provider communicating objects included in the directory,        according to the results provided by the means of interpreting        the information for locating and identifying the service        provider communicating objects,    -   means for initiating at least the transmission of information        relating to the services of the list to a service consumer        communicating object.

The coverage areas, from which the services may be accessible, aredefined according to the model of the underlying space (concrete orabstract) used by the means of locating and interpreting the locationinformation.

It can be a conventional geometrical model. In this case the termproximity is used (as in a Cartesian, affine, etc. type model) in thesense of the distance in that model.

It may even be a graph type model. In this case, the term proximity onthe graph is used (in other words the distance estimated as the numberof arcs on the shortest path separating two nodes of the graph).

Implementing a method or a system according to the invention enablesservices to be proposed dynamically to service consumer objects likelyto use them, by analyzing location information relating to the coverageareas of the services accessible from service provider objects, and tothe location of the service consumer object.

The service directory can be centralized, or even distributed on anumber of physical machines located at different geographic points.

The information relating to the location of the objects and to thecoverage of accessible services can moreover be of different types andbe supplied by different technology devices coexisting within the samesystem.

Other characteristics and advantages of the invention will becomeapparent from reading the description that follows. This is purelyillustrative and should be read in light of the appended drawings inwhich:

FIG. 1 represents a system for managing communicating objects in a firstembodiment of the invention;

FIG. 2 represents a system of managing communicating objects in a secondembodiment of the invention.

FIG. 1 represents a system 2 for managing communicating objects 3 in anembodiment of the invention. The communicating objects 3 include serviceprovider communicating objects 3 a and service consumer communicatingobjects 3 b. The service provider communicating objects 3 a are providedwith means or functions enabling them to interact with their environment(sensors or actuators) and provide services, in particular to serviceconsumer communicating objects 3 b. It will be seen that a communicatingobject 3, whether fixed or mobile, can, in turn or at the same time, beboth service consumer and service provider.

This management system 2 includes, for example, a number of locationmeans 5, each suitable for locating service consumer communicatingobjects 3 b (this location is, for example, initiated either by thecommunicating object itself which appears active to the system 2, ordirectly by the system 2).

Location means 5 based on various technologies can co-exist in themanagement system 2. The location means can, for example, be completemulti-sensor positioning systems (GPS or triangulation by IEEE 802.11terminals), or even isolated sensors associated with software agentscombining raw information from sensors, or even positioning informationentered permanently on installing fixed or rarely-moved objects. Thus,the location information issued by the location means 5 can be of widelyvarying types: a communicating object 3 can, for example, be located bylongitude and latitude. Another communicating object may be located bythe form “present on the local IP network of Mr X, resident at Y”, andso on.

The system 2 further includes means of identifying communicating objects7, suitable for identifying service consumer communicating objects 3 bafter location.

The supervision system 2 includes a system 9 for processing the locationand identification information. This processing system 9 includes meansof interpreting location information 11 from the location means 5 andmeans of interpreting the identification information 13 from theidentification means 7. The location information interpretation means 11of the system 9 are suitable for processing the variety of locationinformation received in order to extract from it the relevantinformation, according to criteria which can be programmable. They can,for example, use the location information relating to a located serviceconsumer object 3 b to identify which service coverage areas are“relevant” for the identified and located service consumer communicatingobject. Depending on the criteria entered, “relevant” might beunderstood to mean, for example, those service coverage areas withinwhich the identified object is located, but also nearby coverage areas,or coverage areas that would require an easily-accomplished action onthe part of the located consumer communicating object 3 b, for example anetwork connection. The processing system 9 can also, for example,establish the relationship between location information of varyingtypes. It can, for example, extract, from the continuous locationinformation of a metric or Cartesian model, location informationcorresponding to a set model (the object is or is not within a givenarea).

The identification information interpretation means 13 of the system 9are suitable for processing the various types of identificationinformation received, in order to extract from it the relevantinformation according to criteria that can be programmable. They may,for example, use identification information relating to an identifiedobject to define which services are “relevant” from the services in thedirectory, in other words, those services likely to be consumed by thelocated service consumer object, according to identification (forexample, is the located consumer object defined in the system?), or, forexample, identification parameters linked to relative technologies (forexample, if particular services require a screen and the communicatingobject does not have one, there is no point in proposing such a serviceto the communicating object; such information may be included in theidentification parameters) or even according to the user profile of theservice consumer object, or even according to access rights paid for ornot by the user associated with the communicating object.

The system 2 includes a service directory 4. This directory 4 listsinformation relating to the service provider objects 3 a, to servicesaccessible from the service provider objects 3 a and to coverage areasassociated with these services. The directory 4 can be compiled invarious ways, for example according to the service providercommunicating objects. Some parts may have been compiled in a systeminitialization phase, by the installer or the user of the communicatingobject 3 a. For information relating to mobile objects, the directory 4can be updated regularly, by interchange sessions between the directory4 and the service provider communicating object or its user asappropriate (for example, on each new location of a service providerobject 3 a, as will be seen later).

The management system 2 further includes a service selection unit 15.This unit 15 includes means 17, for example software, of determining alist L1 of services accessible from service provider communicatingobjects included in the directory, according to results issued by thelocation information interpretation means 11 and the identificationinformation interpretation means 13 of the service providercommunicating objects. The final list may correspond to the servicesinterpreted as “relevant” and associated with service areas interpretedas “relevant”, relative to the service consumer communicating object 3 bconcerned.

The unit 15 also includes means 19 which will propose the services ofthe predefined list via the means 17 to a service consumer communicatingobject identified and located by the means 5 and 7. The means 19 willthus send a proposal concerning the listed services, direct to theservice consumer communicating object, accompanied by the essentialcharacteristics based on which the consumer object 3 b can eitherconsume services from the corresponding provider objects, or ask thedirectory for the exact details of the service so that it can theninvoke the service. This data can be customized according to the object3 b. For example, if the latter has IP communication means, the IPaddress of the service provider object can be supplied. For anotherconsumer object 3 b, it will be, for example, the Bluetooth address, andso on.

Means of communication, for example, by access to wireless networks,enable the communicating objects 3 and the management system 2 tointercommunicate, directly or via a network.

In an embodiment, all of the component parts of the management system 2are, for example, distributed at various geographic points andinterlinked by networking.

Advantageously, the location means 5 and the identification means 7 aresuitable for locating and identifying also the service providercommunicating objects 3 a. Moreover, the processing system 9 is designedto use the information relating to the location and identification ofservice provider communicating objects issued to update the variousfields of the service directory. The location interpretation means 11and the identification interpretation means 13 are suitable for jointlyupdating the coverage area of a service accessible from an identifiedand located service provider communicating object 3 a. This update isperformed on the basis of identification and location information (thecoverage area of an object 3 a providing services via local IP networksidentified as such and located on a given IP network at the time of anew installation will consider its service coverage area for exampleequal to said IP network).

In a preferred embodiment of the invention, the service selection unit15 includes means 17′ for determining, for one or more services Saccessible from an identified and located service provider communicatingobject 3 a, a list L₂ of service consumer communicating objects 3 b. Theobjects of this list L₂ are determined according to the service S andthe associated coverage area, and this relative to the respectivelocations and identifications of the service consumer communicatingobjects, for example according to criteria equivalent to thoseconsidered for drawing up the list L₁ of service consumer communicatingobjects.

The service selection unit 15 includes means 19′ suitable for initiatingat least the transmission (E₂) of information relating to servicesaccessible from the identified service provider communicating object 3 ato service consumer communicating objects of the list L₂. The services Sare thus proposed proactively, to the communicating objects likely toconsume these services. All the services S can be proposed to theobjects 3 b of the list L₂. In an embodiment, services may be proposedselectively to the consumer objects 3 b of the list L₂, for exampleaccording to identification information, in order to more effectivelytarget the potential consumers 3 b.

This characteristic can be used to inform the consumer objects 3 b, forwhich at least one of the services of a service provider communicatingobject is “relevant”, of the accessibility, for example after theservice provider communicating object has moved.

Advantageously, a communicating object 3 can make a request to themanagement system 2.

This request includes a number of criteria, which may, for example,define one or more elements such as: service type, type of communicatingobject, service coverage area, or even other criteria corresponding to afield of the directory.

The request may, for example, define criteria such as: “services forchildren” type services, for which the coverage area includes thelocation of the imminent holidays of the user of the communicatingobject 3.

The service selection unit 15 includes means 17″ for determining a listof services L₃ corresponding to the criteria of the request made by thecommunicating object 3.

To draw up the list L₃, account is advantageously taken, when nolocation criterion is specified in the request, of the location of thecommunicating object from which the request originated, in order topropose only services that are relevant (in terms of proximity) inrelation to the communicating object.

The selection unit 15 also includes means 19″ suitable for initiatingthe transmission of the result of the request (E₃) to the communicatingobject. This result may take the form of the defined list of services(L₃), with the information needed to access the listed services, whereappropriate, when within the respectively associated coverage areas.

Now consider the particular case illustrated by FIG. 2 of embodiment ofthe invention in relation to a room 21 of a building, for implementing a“virtual terminal” service, which represent a subset 2 bis of an overallsystem of the type described in FIG. 1 and including, for example, anumber of technologies. The room 21 is equipped with a set ofcommunicating objects 3 of various types. The set of communicatingobjects can be networked spontaneously via a JINI infrastructure andsoftware written in JAVA relying on this infrastructure (see “The JavaLanguage Specification”, published by Sun Microsystems, Inc.).

An initialization phase of the system 2 bis is carried out first, duringwhich the service provider communicating objects 3 a, according to theJini mechanism, create, discover and register with the service directory4 (not shown in FIG. 2). The subsystem 2 bis initializes a shared memoryspace 23, for example Jini Javaspace. Moreover, service consumercommunicating objects 3 b each include a user equipped with a personaldigital assistant (PDA) having an electronic tag. This electronic tagincludes a transceiver and stores information relating to theidentification of the PDA. It is, for example, compliant with the RFIDstandards (Radio Frequency Identification standards; refer to the website www.RFID.org). This tag will hereinafter be referred to as “RFIDtag”. These objects 3 b will look for the directory 4, and anidentification service to register their identification information andtheir means of communication with, in particular, the correspondingaddresses (IP, electronic mail, Bluetooth identifier, etc.), and aregistration service for registering as a service consumer. Theseidentification and registration services are included in theidentification means 7 described in the case of a system 1, typicallycombining a number of separate subsystem types.

The service consumer communicating object 3 b shown in FIG. 2 comprisesa user equipped with a PDA having an RFID tag and listening softwareembedded in the PDA, which makes the latter listen to its environment. Aduly equipped generic PDA can download on-the-fly the various pieces ofsoftware or control interfaces transmitted, then release the resourceswhen it no longer needs them.

The object 3 b arrives in this room 21. It is detected by an RFID sensor27 which dialogs with its RFID tag. The RFID sensor 27 includes anantenna, electronic circuits linked to an interface including serial/IPmodules. It can set up an IP session (tunnel) with a sensor interfacingservice 29, in order to send it the identification informationcorresponding to the RFID tag with which the object 3 b is provided. Theinterfacing service 29 will create a new entry in the shared memory 23.This entry corresponds to an identifier of the sensor 27 which hasdetected the communicating object 3 b and to the identifiercorresponding to the detected tag. The arrival of this new entry willmake it possible to identify the equipment which corresponds to the RFIDtag (in practice, the RFID technology enables the PDA to be identifiedfrom the tag identification) and to locate the equipment using theidentifier of the sensor. The identification and location operations aretherefore performed at one and the same time in this case. The locationand identification means 5, 7 described in relation to FIG. 1 in thiscase include the tag affixed to the PDA, the RFID tag reader 27 providedwith its interface, the sensor interfacing service 29 and the sharedmemory space 23.

Once the list L1 of proximity services is determined (for example, theservices available in the room) and if the communicating object 3 b hasindeed been registered as a client of the system in the registrationservice in the initialization phase, the subsystem 2 a informs theobject 3 b (at at least one address included in the shared memory 23)that it can access a “virtual terminal” service, and provides it withthe information to access that service. The PDA then invokes the“virtual terminal” service. Also, the requested service sends itsinterface, for example graphical, to show the list L1 of the determinedservices on the PDA.

This “virtual terminal” service is registered as a service, with thedirectory, with the identifier of the physical sensor that it representsas a parameter. The service coverage area can be defined, for example,as equal to the room 21, or even to the detection area of the sensor 27,or even the apartment, and so on.

Thus, everything proceeds as if the user associated with thecommunicating object 3 b had interrogated a greeting terminal onentering the room, but according to the invention, it is the environmentwhich proposes the service, in the example described in FIG. 2 of the“virtual terminal” type, and not the user that requests it. Furthermore,the virtual terminal can propose services corresponding to a certainnumber of criteria that may be programmable (accessibility from the roomconcerned, where appropriate adaptation according to the user profile,etc.).

A management method or system according to the invention allows varioustypes of technology, in particular communicating object and locationtechnologies, to coexist within one and the same system, independentlyof the way in which the various elements are distributed. It even allowsnew services to be implemented easily.

1. A method of managing a set of communicating objects including serviceprovider communicating objects and service consumer communicatingobjects, wherein a service directory lists information relating to atleast a portion of said service provider communicating objects, withrespect to services accessible from at least a portion of saidcommunicating objects and to coverage areas respectively associated withsaid accessible services, the method comprising: locating a serviceconsumer communicating object and identifying said service consumercommunicating object, determining a first list of services accessiblefrom the service provider communicating objects listed in the directory,according to the location and the identification of the service consumercommunicating object identified in relation to the services accessiblefrom the service provider communicating objects and the coverage areasassociated with said services, and initiating transmission, to theidentified service consumer communicating object, of informationrelating to the services of said first list.
 2. The method as claimed inclaim 1, further comprising: locating a service provider communicatingobject and identifying said service provider communicating object, andupdating in the service directory the information relating to theservices accessible from the identified service provider object and theassociated coverage areas.
 3. The method as claimed in claim 2, furthercomprising: determining, for at least one of the services accessiblefrom the identified service provider communicating object, a second listof service consumer communicating objects according to said service andthe associated coverage area relative to the respective locations andidentifications of the service consumer communicating objects, andinitiating transmission of information relating to the servicesaccessible from the identified service provider communicating object tothe service consumer communicating objects of said second list.
 4. Themethod as claimed in claim 1, further comprising: determining inresponse to a request from a communicating object, a third list ofservices accessible from service provider communicating objects listedin the directory, according to the request and relative to the locationand identification of the communicating object from which the requestemanates, and initiating transmission of information relating to theservices of said third list to said communicating object.
 5. A systemfor managing a set of communicating objects including service providercommunicating objects and service consumer communicating objects, thesystem comprising: a service directory listing information relating toat least a portion of the service provider communicating objects, withrespect to services accessible from said at least some of thecommunicating objects and to coverage areas respectively associated withsaid accessible services, means of locating and identifying serviceconsumer communicating objects, means of interpreting information forlocating the service consumer communicating objects regarding coverageareas of the services listed in the directory, means of interpretinginformation for identifying the service consumer communication objectsregarding the services listed in the directory, means of determining alist of services accessible from service provider communicating objectslisted in the directory, according to results provided by the means ofinterpreting the information for locating and identifying the serviceprovider communicating objects, and means for initiating transmission ofinformation relating to the services of said first list to a serviceconsumer communicating object.
 6. The system as claimed in claim 5,further comprising: means of identifying and locating service providercommunicating objects, and means of updating the service directory frominformation relating to the identification and location of the serviceprovider communicating objects.
 7. The system as claimed in claim 6,further comprising: means of determining, for at least one serviceaccessible from an identified service provider communicating object, asecond list of service consumer communicating objects according to saidservice and the associated coverage area relative to the respectivelocations and identifications of the service consumer communicatingobjects, and means for initiating at least the transmission ofinformation relating to the services accessible from the identifiedservice provider communicating object to service consumer communicatingobjects of said second list.
 8. The system as claimed in claim 5,further comprising: means of, in response to a request from acommunicating object, determining a third list of services accessiblefrom service provider communicating objects listed in the directory,according to at least the request and relative to the location andidentification of the communicating object from which the requestemanates, and means for initiating transmission of information relatingto the services of said third list to the communicating object.